package com.algo.chat.client;

import java.io.BufferedReader;
import java.io.InputStreamReader;

import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioSocketChannel;

public class ChatClient {

	public static void main(String[] args) throws Exception {
		EventLoopGroup group = new NioEventLoopGroup(); 
		try {
			Bootstrap bootstrap = new Bootstrap(); 

			bootstrap.group(group)
				     .channel(NioSocketChannel.class) 
				     .handler(new ClientChannelInitializer())
				     .option(ChannelOption.SO_KEEPALIVE, true); 

			ChannelFuture f = bootstrap.connect("localhost", 9999).sync();
			
			Channel channel = f.channel();
			
			for (;;) {
				BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
				channel.writeAndFlush(reader.readLine());
			}
			
		} finally {
			group.shutdownGracefully();
		}
	}
}
